package co.edu.usbcali.unidad.modelo.dto;

import co.edu.usbcali.unidad.modelo.Usuario;
import co.edu.usbcali.unidad.presentation.backEndBeans.UsuarioAdminView;
import co.edu.usbcali.unidad.presentation.backEndBeans.UsuarioView;

import java.io.Serializable;

import java.util.Date;

import javax.faces.event.ActionEvent;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class UsuarioDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String usuContrasena;
	private String usuLogin;
	private String estCodigo_Estado;
	private String perCedula_Persona;
	private String tpuCodigo_TipoUsuario;
	private String usuCodigo;
	private boolean rowSelected = false;
	private UsuarioView usuarioView;
	private UsuarioAdminView usuarioAdminView;
	private Usuario usuario;

	public Usuario getUsuario() {
		return usuario;
	}

	public String listener_update(ActionEvent e) {
		try {
			usuarioView
					.action_modifyWitDTO(
							((usuCodigo == null) || usuCodigo.equals("")) ? null
									: new String(usuCodigo),
							((usuContrasena == null) || usuContrasena
									.equals("")) ? null : new String(
									usuContrasena),
							((usuLogin == null) || usuLogin.equals("")) ? null
									: new String(usuLogin),
							((estCodigo_Estado == null) || estCodigo_Estado
									.equals("")) ? null : new String(
									estCodigo_Estado),
							((perCedula_Persona == null) || perCedula_Persona
									.equals("")) ? null : new String(
									perCedula_Persona),
							((tpuCodigo_TipoUsuario == null) || tpuCodigo_TipoUsuario
									.equals("")) ? null : new String(
									tpuCodigo_TipoUsuario));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}

	public void listener_cancel(ActionEvent e) {
		usuCodigo = usuario.getUsuCodigo().toString();
		usuContrasena = (usuario.getUsuContrasena() != null) ? usuario
				.getUsuContrasena().toString() : null;
		usuLogin = (usuario.getUsuLogin() != null) ? usuario.getUsuLogin()
				.toString() : null;
		estCodigo_Estado = (usuario.getEstado().getEstCodigo() != null) ? usuario
				.getEstado().getEstCodigo().toString()
				: null;
		perCedula_Persona = (usuario.getPersona().getPerCedula() != null) ? usuario
				.getPersona().getPerCedula().toString()
				: null;
		tpuCodigo_TipoUsuario = (usuario.getTipoUsuario().getTpuCodigo() != null) ? usuario
				.getTipoUsuario().getTpuCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Customer details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		usuCodigo = usuario.getUsuCodigo().toString();
		usuContrasena = (usuario.getUsuContrasena() != null) ? usuario
				.getUsuContrasena().toString() : null;
		usuLogin = (usuario.getUsuLogin() != null) ? usuario.getUsuLogin()
				.toString() : null;
		estCodigo_Estado = (usuario.getEstado().getEstCodigo() != null) ? usuario
				.getEstado().getEstCodigo().toString()
				: null;
		perCedula_Persona = (usuario.getPersona().getPerCedula() != null) ? usuario
				.getPersona().getPerCedula().toString()
				: null;
		tpuCodigo_TipoUsuario = (usuario.getTipoUsuario().getTpuCodigo() != null) ? usuario
				.getTipoUsuario().getTpuCodigo().toString()
				: null;
		rowSelected = !rowSelected;
	}

	public UsuarioAdminView getUsuarioAdminView() {
		return usuarioAdminView;
	}

	public void setUsuarioAdminView(UsuarioAdminView usuarioAdminView) {
		this.usuarioAdminView = usuarioAdminView;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	public UsuarioView getUsuarioView() {
		return usuarioView;
	}

	public void setUsuarioView(UsuarioView usuarioView) {
		this.usuarioView = usuarioView;
	}

	public String getUsuContrasena() {
		return usuContrasena;
	}

	public void setUsuContrasena(String usuContrasena) {
		this.usuContrasena = usuContrasena;
	}

	public String getUsuLogin() {
		return usuLogin;
	}

	public void setUsuLogin(String usuLogin) {
		this.usuLogin = usuLogin;
	}

	public String getEstCodigo_Estado() {
		return estCodigo_Estado;
	}

	public void setEstCodigo_Estado(String estCodigo_Estado) {
		this.estCodigo_Estado = estCodigo_Estado;
	}

	public String getPerCedula_Persona() {
		return perCedula_Persona;
	}

	public void setPerCedula_Persona(String perCedula_Persona) {
		this.perCedula_Persona = perCedula_Persona;
	}

	public String getTpuCodigo_TipoUsuario() {
		return tpuCodigo_TipoUsuario;
	}

	public void setTpuCodigo_TipoUsuario(String tpuCodigo_TipoUsuario) {
		this.tpuCodigo_TipoUsuario = tpuCodigo_TipoUsuario;
	}

	public String getUsuCodigo() {
		return usuCodigo;
	}

	public void setUsuCodigo(String usuCodigo) {
		this.usuCodigo = usuCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}
}
